package com.aliyun.messagemgt.dto.query;

import com.aliyun.messagemgt.common.annotation.CustomAnnotation;
import com.aliyun.messagemgt.common.dto.base.PageQuery;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @author
 * @date
 */
@Data
@ApiModel(value = "发送任务查询")
public class MsgQuery extends PageQuery {

	@ApiModelProperty(value = "消息源id")
	private Long msgSourceId;

	@ApiModelProperty(value = "消息源编码")
	private String sourceCode;

	@ApiModelProperty(value = "消息源名称")
	private String sourceName;

	@ApiModelProperty(value = "渠道名称")
	private String pushChannelName;

	@ApiModelProperty(value = "模板类型 -1-空 1-APP模板 2-短信模板")
	private Integer templateType;

	@ApiModelProperty(value = "分发目标")
	private String receiverName;

	@ApiModelProperty(value = "渠道编码或者渠道名称")
	private String pushChannelCodeOrPushChannelName;

	@ApiModelProperty(value = "发送任务编码或者名称")
	private String sourceNameOrSourceCode;

	@ApiModelProperty(value = "消息源名称或消息源编码")
	private String messageNameOrMessageCode;

	@ApiModelProperty(value = "场景编码或场景名称")
	private String sceneCodeOrSceneName;

	@ApiModelProperty(value = "接收组编码或名称")
	private String receiveGroupCodeOrGroupName;

	@ApiModelProperty(value = "创建时间开始")
    private String creTimeStart;

	@ApiModelProperty(value = "创建时间结束")
    private String creTimeEnd;   

    @ApiModelProperty(value = "推送渠道类型 1 政务微信 2 app 3 网页客户端 4 短信 5 邮件")
    private Integer pushChannelType;

	@ApiModelProperty("场景编码")
	private String sceneCode;

	@ApiModelProperty("除状态 0未删除，1已删除")
	private Integer stateDelete;

	@CustomAnnotation(name="ownerDept",  desc = "ownerDept")
    private String ownerDept;

	/*@CustomAnnotation(name="auditStatus",  desc = "审核状态")
    private Integer auditStatus;*/

	@ApiModelProperty(value = "是否启用 Y-启用 N-不启用")
	private String isEnabled;

	@ApiModelProperty(value = "排序字段")
    private String ascOrDesc;

	@ApiModelProperty(value = "推送状态")
    private Integer pushResultCode;

	@ApiModelProperty(value = "选择的渠道ID")
    private Long pushChannelId;

	@ApiModelProperty(value = "选择的logid列表")
    private List<Integer> handleLogIds;

	@ApiModelProperty(value = "消息源名称或者管理者名称")
    private String sourceNameOrOwnerName;

	@ApiModelProperty(value = "待办事项的提交时间开始")
    private String timeCreateTo;

	@CustomAnnotation(name="timeCreateEnd",  desc = "待办事项提交时间结束")
    private String timeCreateEnd;

	@CustomAnnotation(name="timeCreateOrder",  desc = "提交时间排序")
    private String timeCreateOrder;

/*	@CustomAnnotation(name="timeUpdateOrder",  desc = "审批时间排序")
    private String timeUpdateOrder;*/

	@CustomAnnotation(name="roleCode",  desc = "roleCode")
	private Integer roleCode;
	@CustomAnnotation(name = "tenantCode", desc = "tenantCode")
	private String tenantCode;

	@ApiModelProperty(value = "租户code列表", name = "tenantCodeList")
	private List<String> tenantCodeList;

	private String param;

}
